<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>helper function to rename variables that are colnames of data.frame — fixcolnames • EJAM</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/font-awesome-6.4.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.4.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="helper function to rename variables that are colnames of data.frame — fixcolnames"><meta name="description" content="Changes variable names like colnames to long plain-English headers or short labels for plots"><meta property="og:description" content="Changes variable names like colnames to long plain-English headers or short labels for plots"><meta property="og:image" content="https://usepa.github.io/EJAM/logo.svg"></head><body>
    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>


    <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="light" aria-label="Site navigation"><div class="container">

    <a class="navbar-brand me-2" href="../index.html">EJAM</a>

    <small class="nav-text text-warning me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Released version">2.32.0</small>


    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div id="navbar" class="collapse navbar-collapse ms-3">
      <ul class="navbar-nav me-auto"><li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
  <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
  <ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><hr class="dropdown-divider"></li>
    <li><h6 class="dropdown-header" data-toc-skip>Overview for EJAM Users</h6></li>
    <li><a class="dropdown-item" href="../articles/0_whatis.html">What is EJAM</a></li>
    <li><a class="dropdown-item" href="../articles/0_webapp.html">Using EJAM</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><h6 class="dropdown-header" data-toc-skip>For analysts using R</h6></li>
    <li><a class="dropdown-item" href="../articles/1_installing.html">Installing the EJAM R package</a></li>
    <li><a class="dropdown-item" href="../articles/2_quickstart.html">Quick Start Guide</a></li>
    <li><a class="dropdown-item" href="../articles/3_analyzing.html">Basics of Using EJAM for Analysis in RStudio</a></li>
    <li><a class="dropdown-item" href="../articles/4_advanced.html">Advanced Features</a></li>
  </ul></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
      </ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
 <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/USEPA/EJAM/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
      </ul></div>


  </div>
</nav><div class="container template-reference-topic">
<div class="row">
  <main id="main" class="col-md-9"><div class="page-header">
      <img src="../logo.svg" class="logo" alt=""><h1>helper function to rename variables that are colnames of data.frame</h1>
      <small class="dont-index">Source: <a href="https://github.com/USEPA/EJAM/blob/HEAD/R/fixcolnames.R" class="external-link"><code>R/fixcolnames.R</code></a></small>
      <div class="d-none name"><code>fixcolnames.Rd</code></div>
    </div>

    <div class="ref-description section level2">
    <p>Changes variable names like colnames to long plain-English headers or short labels for plots</p>
    </div>

    <div class="section level2">
    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">fixcolnames</span><span class="op">(</span><span class="va">namesnow</span>, oldtype <span class="op">=</span> <span class="st">"csvname"</span>, newtype <span class="op">=</span> <span class="st">"r"</span>, <span class="va">mapping_for_names</span><span class="op">)</span></span></code></pre></div>
    </div>

    <div class="section level2">
    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>


<dl><dt id="arg-namesnow">namesnow<a class="anchor" aria-label="anchor" href="#arg-namesnow"></a></dt>
<dd><p>vector of colnames to be renamed</p></dd>


<dt id="arg-oldtype">oldtype<a class="anchor" aria-label="anchor" href="#arg-oldtype"></a></dt>
<dd><p>"longname" or "shortname", or "csv" or "r" or "api", etc.
or a colname of map_headernames, used if one of those known types was not specified.</p></dd>


<dt id="arg-newtype">newtype<a class="anchor" aria-label="anchor" href="#arg-newtype"></a></dt>
<dd><p>"longname" or "shortname", or "csv" or "r" or "api", etc.
or a colname of map_headernames, used if one of those known types was not specified.</p></dd>


<dt id="arg-mapping-for-names">mapping_for_names<a class="anchor" aria-label="anchor" href="#arg-mapping-for-names"></a></dt>
<dd><p>default is a dataset already in the package.</p></dd>

</dl></div>
    <div class="section level2">
    <h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
    <p>Vector or new column names same length as input</p>
    </div>
    <div class="section level2">
    <h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
    <p>You specify an alias of a type like "api", "r", "long", or "short",
or one of <code>colnames(map_headernames)</code> like "rname", "vartype", "decimals", "varlist", etc.</p>
<p>Also, you can use this to extract any info from <code>map_headernames</code> (which
here is called mapping_for_names).</p>
<p>NOTE: if you ask to rename your words to a known type like rname or apiname, and
the namesnow is not found among the oldtype, then it is not renamed, and those are returned as unchanged.
BUT, if you specify as newtype some column that is not a known type of name, like "varcategory"
then it will instead return an empty string for those in namesnow that are not found among the oldtype.
That way if you are really seeking a new name, but it cannot rename, it keeps the old name
while if you are really seeking metadata like what category it is in,
it returns a blank if the old name is not found at all.</p>
<p>These are some key column names in the <a href="map_headernames.html">map_headernames</a> table:</p><ul><li><p>"shortname" (aka "short", for plot labels, etc.)</p></li>
<li><p>"longname" (aka "long", for full explanatory headers to use on a table)</p></li>
<li><p>"rname" (aka "r", the R variable names as used in the EJAM code)</p></li>
<li><p>"apiname" (aka "api", as returned by EJScreen API)</p></li>
<li><p>"csvname" (aka "csv", as found in the CSV files of just the key demographic and environmental indicators, found on the EJScreen FTP site)</p></li>
<li><p>"acsname" (aka "acs", as found in a ACS data file internally used by EJScreen, containing all the extra demographic and other indicators not stored in the CSV files on the EJScreen FTP site)</p></li>
<li><p>"DEJ" (whether the indicator is demographic, environmental, etc.)</p></li>
<li><p>"varlist" (which group of names is this variable in, such as "names_d", "names_d_subgroups", "names_d_state_pctile", etc.)</p></li>
<li><p>"calculation_type" (how it should be aggregated over block groups, such as "wtdmean", "sum of counts", etc.)</p></li>
<li><p>"denominator" (the weight to use in aggregating as a wtdmean, normally a count variable that is the universe for a percentage, such as "pop", "hhlds", etc.)</p></li>
</ul></div>
    <div class="section level2">
    <h2 id="see-also">See also<a class="anchor" aria-label="anchor" href="#see-also"></a></h2>
    <div class="dont-index"><p><code><a href="varinfo.html">varinfo()</a></code></p></div>
    </div>

    <div class="section level2">
    <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span> <span class="co"># see package tests</span></span>
<span>  </span>
<span> <span class="va">names_d</span></span>
<span> <span class="fu"><a href="namesbyvarlist.html">namesbyvarlist</a></span><span class="op">(</span><span class="st">'names_d'</span><span class="op">)</span></span>
<span> <span class="va">x</span> <span class="op">=</span> <span class="fu"><a href="varinfo.html">varinfo</a></span><span class="op">(</span><span class="st">"pctlowinc"</span><span class="op">)</span></span>
<span> <span class="va">x</span> <span class="op">=</span> <span class="fu"><a href="varinfo.html">varinfo</a></span><span class="op">(</span><span class="st">"pcthisp"</span><span class="op">)</span></span>
<span> </span>
<span></span>
<span> <span class="co"># see the different names for the same variable, and see it is not in the csv tables on the FTP site</span></span>
<span> <span class="fu"><a href="varinfo.html">varinfo</a></span><span class="op">(</span><span class="st">"pcthisp"</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"csvname"</span>, <span class="st">"acsname"</span>, <span class="st">"apiname"</span><span class="op">)</span><span class="op">)</span></span>
<span></span>
<span> <span class="co"># EJAM:::names_whichlist("RAW_D_INCOME")</span></span>
<span> <span class="fu">fixcolnames</span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"RAW_D_INCOME"</span>, <span class="st">"S_D_LIFEEXP"</span><span class="op">)</span>, <span class="st">'api'</span><span class="op">)</span></span>
<span> <span class="fu">fixcolnames</span><span class="op">(</span><span class="st">'LOWINCPCT'</span>, <span class="st">'csv'</span><span class="op">)</span></span>
<span> <span class="fu">fixcolnames</span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"PCT_HISP"</span>, <span class="st">"HISP"</span><span class="op">)</span>, <span class="st">'acs'</span><span class="op">)</span></span>
<span> <span class="fu">fixcolnames</span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"RAW_D_INCOME"</span>, <span class="st">"S_D_LIFEEXP"</span><span class="op">)</span>, newtype <span class="op">=</span> <span class="st">"longname"</span><span class="op">)</span></span>
<span></span>
<span> <span class="fu"><a href="https://rdrr.io/r/stats/addmargins.html" class="external-link">addmargins</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/table.html" class="external-link">table</a></span><span class="op">(</span><span class="va">map_headernames</span><span class="op">$</span><span class="va">vartype</span>, <span class="va">map_headernames</span><span class="op">$</span><span class="va">DEJ</span><span class="op">)</span><span class="op">)</span></span>
<span>  </span>
<span>  <span class="co"># the columns "newsort" and "reportsort" provide useful sort orders</span></span>
<span>  <span class="va">x</span> <span class="op">&lt;-</span> <span class="va">map_headernames</span><span class="op">$</span><span class="va">rname</span><span class="op">[</span><span class="va">map_headernames</span><span class="op">$</span><span class="va">varlist</span> <span class="op">==</span> <span class="st">"names_d"</span><span class="op">]</span></span>
<span>  <span class="co"># same as </span></span>
<span>  </span>
<span>  <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="st">"original order"</span><span class="op">)</span>; <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span> </span>
<span>  <span class="va">x</span> <span class="op">&lt;-</span>  <span class="fu"><a href="https://rdrr.io/r/base/sample.html" class="external-link">sample</a></span><span class="op">(</span><span class="va">x</span>, <span class="fu"><a href="https://rdrr.io/r/base/length.html" class="external-link">length</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span>, replace <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>   </span>
<span>  <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="st">"out of order"</span><span class="op">)</span>; <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="va">x</span><span class="op">)</span></span>
<span>  <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="st">"fixed order"</span><span class="op">)</span></span>
<span>  <span class="va">x</span><span class="op">[</span> <span class="fu"><a href="https://rdrr.io/r/base/order.html" class="external-link">order</a></span><span class="op">(</span><span class="fu">fixcolnames</span><span class="op">(</span><span class="va">x</span>, oldtype <span class="op">=</span> <span class="st">"r"</span>, newtype <span class="op">=</span> <span class="st">"newsort"</span><span class="op">)</span><span class="op">)</span> <span class="op">]</span></span>
<span></span></code></pre></div>
    </div>
  </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
    </nav></aside></div>


    <footer><div class="pkgdown-footer-left">
  <p>US EPA 2024</p>
</div>

<div class="pkgdown-footer-right">
  <p>EJAM Version 2.32.0</p>
</div>

    </footer></div>





  </body></html>

